Signature Definition

URI

/trustedx-resources/esignsp/v2/documents/{document_id}/signers/{signature_definition_id}

Description

Definition of a document signature. A signature definition always forms part of a document and signature definitions resource and is applied to the document that this resource also contains.

Representation

A signature definition is represented in JSON as follows:

{
"id" : {string},
"self" : {string},
"signature_policy_id" : {string},
"parameters" : {Parameters},
"to_be_signed" : {
"digest" : {
"algorithm" : {string},
"value" : {string}
}
},
"signature" : {string},
"to_be_timestamped" : {
"type": {string},
"digest_algorithm": {string},
"digest_value": {string}
},
"timestamps" : [{string}]
"timestamps" : [{
"type" : {string},
"timestamp": {string}
}]
} }

Property

Description

id

Identifier of the signature definition. This property is optional and only present when the representation is for an already created resource.

self

URL of the signature definition. This property is optional and only present when the representation is for an already created resource.

signature_policy_id

Type of signature defined:

  • "urn:safelayer:eidas:policies:sign:document:pdf": definition of a PDF/PAdES signature (ETSI TS 102 778, ETSI TS 103 172 and ETSI EN 319 142).

  • "urn:safelayer:eidas:policies:sign:document:xml":definition of a W3C XMLDSig/XAdES signature (ETSI TS 101 903, ETSI TS 103 171 and ETSI EN 319 132).

  • "urn:safelayer:eidas:policies:sign:document:cms": definition of a CMS/CAdES signature (ETSI TS 101 733, ETSI TS 103 173 and ETSI EN 319 122)

parameters

Characteristics of the signature defined. This property is optional, although it is necessary for executing the obtain the hash of the document in accordance with a signature definition operation on the resource. The value of this property is represented in JSON as explained in:

The default behavior when this property (or any of its characteristics) is not present is described in Behavior for When Parameters Are Missing from the Signature Definition).

to_be_signed

Information for calculating the digital signature (PKCS #1) of the document to which the signature definition is applied. This property is optional and is only present after the obtain the hash of the document in accordance with a signature definition operation is executed on the resource.

to_be_signed.digest

Information on the hash used to obtain the digital signature (PKCS #1) of the document to which the signature definition is applied.

to_be_signed.digest.algorithm

Hash algorithm. The value of this property can be "sha1", "sha256", "sha384" or "sha512".

to_be_signed.digest.value

Hash of the document to which the signature definition is applied, encoded in base64 (the attributes signed are also taken into account in this hash).

signature

Digital signature (PKCS #1) of the document to which the signature definition is applied, encoded in base64. This property is optional and only present after its value has been provided using the update signature definition operation.

to_be_timestamped

Information on the hash used to obtain the time-stamp of the signature for the signature definition. This property is optional and only present when requested by the obtain the hash of a signature for requesting a time-stamp operation.

to_be_timestamped.type

Always has the value "message_imprint".

to_be_timestamped.digest_algorithm

Hash algorithm. The value of this property can be "sha1", "sha256", "sha384" or "sha512".

to_be_timestamped.digest_value

Hash of the signature that corresponds to the signature definition.

timestamps[]

Time-stamps of the signature that corresponds to the signature definition. Currently only one time-stamp is supported. This property is optional and only present after the time-stamp of a signature is provided via the update a signature definition operation or via a process started by a create a document signature process operation in which a time-stamp policy was requested.

timestamps[0].type

Type of signature time-stamp. Always has the value "rfc3161_timestamp_token".

timestamps[0].tiemstamp

Base64 encoding of the signature time-stamp. This time-stamp is always in RFC 3161 format.

Parameters Property (PDF/PAdES Signatures)

The parameters property is represented in JSON as follows:

{
"type" : {string},
"certificate": {string},
"chain_certificates": [{string}],
  "default_digest_algorithm" : {string},
"estimated_signature_size" : {number},
"certification_level" : {number},
"contact_info" : {string},
"location" : {string},
"reason" : {string},
"signature_field" : {
"name" : {string},
"location" : {
"page" : {
"number" : {string}
},
"rectangle" : {
"x" : {number},
"y" : {number},
"height" : {number},
"width" : {number}
}
},
"appearance" : {
"background_image" : {
"file" : {string},
"binary" : {string}
},
"foreground_image" : {
"file" : {string},
"binary" : {string}
},
"signature_details" : {SignatureDetails}
}
},
"policy_identifier" : {
"policy_id" : {
"oid" : {string}
}
"policy_hash" : {
"digest_algorithm_identifier" : {
"id" : {string}
},
"digest_value" : {string}
},
"policy_qualifiers" : [
{
"type" : {string},
"uri" : {string}
}
]
},
"commitments" : [
{
"type" : {string},
"oid" : {string}
}
]
"roles" : {
"claimed" : [{string}]
},
"signed_attributes" : [
{
"type" : {string},
"oid" : {string},
"encoded" : {string}
}
],
"unsigned_attributes" : [
{
"type" : {string},
"oid" : {string},
"encoded" : {string}
}
]
}

Property

Description

type

Signature type :

  • "pdf": PAdES-Basic (ETSI TS 102 778-2)

  • "pades-bes": PAdES-BES (ETSI TS 102 778-3)

  • "pades-epes": PAdES-EPES (ETSI TS 102 778-3)

  • "pades-baseline": baseline PAdES signature as per ETSI EN 319 142. Although the signature definition initially corresponds to a B-B signature, it could end up corresponding to B-T signature if a time-stamp is added to it (e.g., the signature is made by executing a document signature process in whose creation the inclusion of a time-stamp was specified).

certificate

Signer's certificate encoded in base64. This property is optional although necessary for executing the obtain the hash of the document in accordance with a signature definition operation on the resource.

chain_certificates[]

The signer's certificate chain encoded in base64, and non-including the root certificate.

default_digest_algorithm

Hash algorithm used to obtain the digital signature (PKCS #1) of the document. This property is optional and its value can be "sha1", "sha256", "sha384" or "sha512", with "sha256" being the default value.

estimated_signature_size

Maximum size of the signature in bytes. TRIDENT reserves sufficient space in the document for storing a signature of this size. This property is optional.

certification_level

Indication on whether the signature is a certification signature. This property is optional and its value can be:

  • 0: Non-certification signature.

  • 1: Certification signature. Once performed, subsequent changes cannot be made to the document.

  • 2: Certification signature. Once performed, the only subsequent changes that can be made to the document are the filling-in of forms and the generation of signatures (in previously-created signature fields).

  • 3: Certification signature. Once performed, the only subsequent changes that can be made to the document are the filling-in of forms, the generation of signatures in previously-created signature fields and the editing of notes.

contact_info

The signer's contact details. This property is optional.

location

Where the document is signed. This property is optional.

reason

Reason why the document is being signed. This property is optional.

signature_field

Signature field information. This property is optional.

signature_field.name

Name of the signature field. This property is optional. Its default value is "SFLY Signature <seq>", where seq is the next number in the sequence of all the fields whose names have this format (the first field in the sequence takes the number 0).

signature_field.location

Location of the signature field in the document. This property is optional.

signature_field.location.page

Information on the page in which the signature field is located.

signature_field.location.page.number

Number of the page where the signature field is located. The "last" value denotes the last page of the document.

signature_field.location.rectangle

Position and dimensions of the signature field, expressed in user units (see ISO 32000-1), within the page in which it is located. As a reference, on an A4 page where the user unit is 1, the rectangle that corresponds to the whole page has a size of 595 by 842 user units.

signature_field.location.rectangle.x

Horizontal coordinate of the lower left corner of the signature field in the page where it is located.

signature_field.location.rectangle.y

Vertical coordinate of the lower left corner of the signature field in the page where it is located.

signature_field.location.rectangle.height

Height of the signature field.

signature_field.location.rectangle.width

Width of the signature field.

signature_field.appearance

Information on the signature appearance. This property is optional.

signature_field.appearance.background_image

Background image of the signature appearance. This property is optional in the appearance property.

signature_field.appearance.background_image.file

Complete path, in the TRIDENT's file system, of the background image of the signature appearance. This property is optional but must be present if the appearance.background_image.binary property is not.

signature_field.appearance.background_image.binary

Base64 encoding of the background image of the signature appearance. JPEG and PNG images are supported. This property is optional but must be present if the appearance.background_image.file property is not.

signature_field.appearance.foreground_image

Foreground image of the signature appearance. This property is optional in the appearance property.

signature_field.appearance.foreground_image.file

Complete path, in the TRIDENT's file system, of the foreground image of the signature appearance. This property is optional but must be present if the appearance.foreground_image.binary property is not.

signature_field.appearance.foreground_image.binary

Base64 encoding of the foreground image of the signature appearance. JPEG and PNG images are supported. This property is optional but must be present if the appearance.foreground_image.file property is not.

signature_field.appearance.signature_details

Information on the signature details displayed as text in its appearance. This property is optional. Its value is represented in JSON as explained in parameters.signature_field.appearance.signature_details property.

policy_identifier

Information on the signature policy. This property is required if the signature type specified (type property) is "pades-epes“ and must be omitted otherwise.

policy_identifier.policy_id.oid

OID that identifies the signature policy.

policy_identifier.policy_hash

Information on the hash of the signature policy.

policy_identifier.policy_hash.digest_algorithm_identifier.id

Algorithm for calculating the hash of the signature policy. This property can take the following values: "sha1", "sha256", "sha384" or "sha512".

policy_identifier.policy_hash.digest_value

Hash of the signature policy.

policy_identifier.policy_qualifiers[]

Qualifiers of the signature policy.

policy_identifier.policy_qualifiers[].type

Type of one of the qualifiers of the signature policy. This property always takes the "spuri" value.

policy_identifier.policy_qualifiers[].uri

URI of the signature policy.

commitments[]

Signer commitments. This property is optional if the signature type specified (type property) is "pades-epes“ and must be omitted otherwise.

commitments[].type

Type of one of the signer's commitments.

  • "proof_of_origin": the signer acknowledges creating and sending the document.

  • "proof_of_receipt": the signer acknowledges receiving the document.

  • "proof_of_delivery": the signer acknowledges delivering the document to the recipient.

  • "proof_of_sender": the signer acknowledges sending the document.

  • "proof_of_approval": the signer acknowledges approving the document.

  • "proof_of_creation": the signer acknowledges creating the document.

  • "custom": the signer acknowledges what is specified in the commitments[].oid property.

commitments[].oid

OID identifying a signer commitment. This property is optional and only used by the "custom" type commitments.

roles.claimed[]

This property is optional and contains the roles that the signer claims to have. It must be included in the signed attributes of the signature.

signed_attributes[]

This property is optional and contains information on the additional signed attributes that must be put in the signature.

signed_attributes[].type

This property can only take the "custom" value. It specifies the additional signed attribute type that must be put in the signature.

signed_attributes[].oid

OID that identifies the type of one of the signed attributes that must be put in the signature.

signed_attributes[].encoded

Value of one of signed attributes that must be put in the signature.

unsigned_attributes[]

This property is optional and contains information on the unsigned attributes that must be put in the signature.

unsigned_attributes[].type

This property can only take the "custom" value. It specifies the unsigned attribute type that must be put in the signature.

unsigned_attributes[].oid

OID that identifies the type of one of the unsigned attributes that must be put in the signature.

unsigned_attributes[].encoded

Value of one of the unsigned attributes that must be put in the signature.

The parameters.signature_field.appearance.signature_details Property

The parameters.signature_field.appearance.signature_details property is represented in JSON as follows:

{
"font" : {
"name" : {string},
"size" : {number},
"style" : {string},
"color" : {
"r" : {number},
"g" : {number},
"b" : {number}
},
"encoding" : {string},
"embed" : boolean
},
"details" : [
{
"type" : {string},
"title" : {string},
"timezone" : {string},
"format" : {string},
"value" : {string}
}
],
"text_direction" : {string}
}

Property

Description

font

Information on the font used for the text of the signature details displayed in the signature appearance. This property is optional.

font.name

Postscript name of the font used for the text of the signature details displayed in the signature appearance. If the TRIDENT does not have this font when generating the signature corresponding to this definition, it will use the most similar one it has. This property is optional.

font.size

Size of the font used for the text of the signature details displayed in the signature appearance. This property is optional.

font.style

Style of the font ("normal", "bold", "italic") used for the text of the signature details displayed in the signature appearance. This property is optional.

font.color

Color used for the font of the signature details displayed in the signature appearance. This property is optional.

font.color.r

Red level used for the text of the signature details displayed in the signature appearance (0-255).

font.color.g

Green level used for the text of the signature details displayed in the signature appearance (0-255).

font.color.b

Blue level for the text of the signature details displayed in the signature appearance (0-255).

details[]

Signature details displayed as text in its appearance. This property is optional.

details[].type

Signature detail type displayed as text in the signature appearance.

  • "subject": Subject of the signer's certificate.

  • "name": CN of the subject of the signer's certificate.

  • "issuer": Issuer of the signer's certificate.

  • "serial": Serial number of the signer's certificate.

  • "contact_info": Contact information of the signer (see the contact_info property).

  • "location": where the document is signed (see the location property).

  • "reason": reason why the document is signed (see the reason property).

  • "date": date the document is signed.

  • "text": arbitrary text.

details[].title

Title that precedes a detail of the signature displayed as text in its appearance. This property is optional.

details[].timezone

Time zone ("GMT", "Europe/Madrid", "America/Caracas", etc.) displayed as a detail of the signature in its appearance. This property is optional and can only have a "date" type detail.

details[].format

Format of the date that is displayed as a detail of the signature in its appearance. This format's syntax is the one used by the java.text.SimpleDateFormat Java API class.

This property is optional, its default value is yyyy.MM.dd hh:mm:ss XXX, and can only have a "date" type detail.

details[].value

Arbitrary text displayed as a detail of the signature in its appearance. This property is optional and can only have a "text" type detail.

text_direction

Text direction in the appearance of the signature. This property is optional and can have the following values:

  • "ltr": text direction is left to right (default value)

  • "rtl": text direction is right to left.


Parameters Property (Enveloped XMLDSig/XAdES Signatures)

The parameters property is represented in JSON as follows:

{
"type" : {string},
"certificate" : {string},
"chain_certificates": [{string}],
  "default_digest_algorithm" : {string},
"signature_target" : {
"type" : "document",
"signature_packaging" : "enveloped",
"nodes_to_sign" : [
{
"type" : "document_reference",
"xpath" : "/",
"uri_type": {string}
}
],
"signature_placement" : {
"type" : {string},
"xpath" : {string}
},
"enveloped_transform" : {string}
},
"include_data_object_format" : {boolean},
"default_c14n_method" : {string},
"policy_identifier" : {
"policy_id" : {
"identifier" : {
"uri" : {string},
"qualifier" : {string}
},
"description" : {string},
"documentation_references" : [
{
"uri" : {string}
}
]
},
"policy_hash" : {
"digest_algorithm_identifier" : {
"id" : {string}
},
"digest_value" : {string}
},
"policy_qualifiers" : [
{
"type" : "spuri",
"uri" : {string}
}
]
}
"commitments" : [
{
"type" : "{string},
"uri" : {string}
}
],
"location" : {
"city" : {string},
"street_address" : {string},
"state_or_province" : {string},
"postal_code" : {string},
"country_name" : {string}
}
"roles" : {
"claimed" : [{string}]
}
}

Property

Description

type

Type of XML signature.

  • "xmldsig": XMLDSig signature

  • "xades-bes": XAdES-BES signature (Basic Electronic Signature) as per ETSI TS 101 903

  • "xades-epes": XAdES-EPES signature (Explicit Policy Electronic Signature) as per ETSI TS 101 903

  • "xades-baseline": baseline XAdES signature as per ETSI EN 319 132-1. Although the signature definition initially corresponds to a B-B signature, it could end up corresponding to B-T signature if a time-stamp is added to it (e.g., the signature is made by executing a document signature process in whose creation the inclusion of a time-stamp was specified).

certificate

Signer's certificate encoded in base64. This property is optional although it is required to execute the obtain the hash of the document in accordance with a signature definition operation when the value of the property type is "xades-bes" "xades-epes" or "xades_baseline" .

chain_certificates[]

The signer's certificate chain encoded in base64, and non-including the root certificate.

default_digest_algorithm

Hash algorithm that must be used for obtaining the hashes that must be calculated in the signature. This property is optional and can take the following values: "sha1", "sha256", "sha384" or "sha512", with "sha256" being the default value.

signature_target

Information on the data to be signed, the relative location of the signature with regard to this data.

signature_target.type

This property is optional and can only take the "document" value (i.e., the default value).

signature_target.signature_packaging

Relative position of the signature with respect to the data being signed. Always has the "enveloped" value (the signature is contained in the signed XML document).

signature_target.nodes_to_sign[]

This property is optional and contains information on the XML document to which the signature definition is applied (the array has only one element).

signature_target.nodes_to_sign[].type

Type of reference to the data to be signed. This property can only take the "document_reference" value (the data is a node of the XML document to which the signature definition is applied; specifically, the node whose path is specified by the signature_target.nodes_to_sign[].xpath property).

signature_target.nodes_to_sign[].xpath

XPath 2.0 expression that describes the path of the element being signed that forms part of document to which the signature definition is being applied. Currently the XPath path can only correspond to the root node of the XML document to which the signature definition is applied. I.e., the XPath path can only be "/".

signature_target.nodes_to_sign[].uri_type

Type of URI used in the signature for referencing the data being signed. This property is optional and can take the following values:

  • "id", which is the default value indicating that the signature must reference the data signed with "".

  • "xpointer_xpath", which indicates that the signature must reference the data signed with "#xpointer(/)".

signature_target.signature_placement

Information on the position of the signature (in the <ds:Signature> element) in the document to which the signature definition is applied. This property is optional. The "last_child_of" of the "/" root node is the default position.

signature_target.signature_placement.xpath

XPath 2.0 expression that describes (along with the signature_target.signature_placement.type parameter) the path of the signature in the document to which the signature definition is applied.

signature_target.signature_placement.type

Placement of the node containing the signature (<ds:Signature> element) with respect to the path indicated by signature_target.signature_placement.xpath.

  • "last_child_of": the signature is the last child node of the node whose path is specified in signature_target.signature_placement.xpath).

  • "first_child_of": the signature is the first child node of the node whose path is specified in signature_target.signature_placement.xpath).

  • "after": the signature is the first sibling node after the node whose path is specified in signature_target.signature_placement.xpath).

  • "before": the signature is the first sibling node before the node whose path is specified in signature_target.signature_placement.xpath).

signature_target.enveloped_transform

Transformation that must be made to the XML document to which the signature definition is applied to obtain the value whose hash is put in the signature.

  • single_signature: the following transformation must be performed: http://www.w3.org/2000/09/xmldsig#enveloped-signature.

  • multiple_signatures: an XPath transformation that deletes all the signatures in the XML document must be performed.

This property is optional. Its default value is single_signature.

Note

If you plan to include more signatures in the document that will contain the signature (e.g., if you want to add a detached countersignature later on), specify the multiple_signatures value. Otherwise, subsequent signatures will invalidate the first signature (all verifications of the signature will state that it is invalid).

include_data_object_format

This property is optional and indicates (true, false) whether the format of the signed data (DataObjectFormat) must be included in the qualifying properties that are protected (signed) by the signature, through the corresponding element ds:Signature/ds: SignedInfo/ds:Reference. Default value is false and the format indicated when the value is true is text/xml.

default_c14n_method

Canonicalization algorithm used:

  • c14n: inclusive algorithm (http://www.w3.org/TR/2001/REC-xml-c14n-20010315).

  • c14nWithComments: inclusive algorithm with comments (http://www.w3.org/TR/2001/REC-xml-c14n-20010315#WithComments).

  • excC14n: exclusive algorithmWill is is an (http://www.w3.org/2001/10/xml-exc-c14n#

  • excC14nWithComments: exclusive algorithm with comments (http://www.w3.org/2001/10/xml-exc-c14n#WithComments).

This property is optional and its default value is excC14n.

policy_identifier

Information on the signature policy in accordance with which the signature is performed and with which the signature must be validated. This property is only present (and in this case required) if the type property indicates the "xades-epes" signature type. Information on the signature policy is included in the signature by inserting a SignaturePolicyIdentifier element in the signature's qualifying properties that are protected (signed) by the signature itself via the corresponding ds:Signature/ds:SignedInfo/ds:Reference element.

policy_identifier.policy_id.identifier.uri

URI of the signature policy.

policy_identifier.policy_id.identifier.qualifier

URI type of the signature policy when this URI is built using an OID. The following values are supported:

  • OIDAsURI

  • OIDAsURN

This property is optional.

policy_identifier.policy_id.description

Description of the policy. This property is optional.

policy_identifier.policy_id.documentation_references[]

Documents with additional information on the policy. This property is optional.

policy_identifier.policy_id.documentation_references[].uri

URI of a document with additional information on the policy.

policy_identifier.policy_hash

Information on the hash of the signature policy.

policy_identifier.policy_hash.digest_algorithm_identifier.id

Algorithm for calculating the hash of the signature policy. Its value can be "sha1", "sha256", "sha384" or "sha512".

policy_identifier.policy_hash.digest_value

Hash of the signature policy.

policy_identifier.policy_qualifiers[]

Qualifiers of the signature policy. This property is optional.

policy_identifier.policy_qualifiers[].type

Type of one of the qualifiers of the signature policy. This property always takes the "spuri" value.

policy_identifier.policy_qualifiers[].uri

URI of one of the qualifiers of the signature policy.

commitments[]

Commitments of the signer (CommitmentTypeIndication) that must be included in the signed data's qualifying properties that are protected (signed) by the signature itself via the corresponding ds:Signature/ds:SignedInfo/ds:Reference element.

commitments[].type

A commitment of the signer. The following values are supported:

  • "proof_of_origin": the signer acknowledges creating and sending the document.

  • "proof_of_receipt": the signer acknowledges receiving the document.

  • "proof_of_delivery": the signer acknowledges delivering the document to the recipient.

  • "proof_of_sender": the signer acknowledges sending the document.

  • "proof_of_approval": the signer acknowledges approving the document.

  • "proof_of_creation": the signer acknowledges creating the document.

  • "custom": the signer acknowledges what is specified in the commitments[].uri property.

commitments[].uri

URI of one of the signer's commitments. This property is only present if the value of the commitments[].type property is "custom".

location

Place where the signature was made (SignatureProductionPlace for xades-bes and xades-epes and SignatureProductionPlacev2 for xades-baseline) that must be included in the signer's qualifying properties that are protected (signed) by the signature itself via the corresponding ds:Signature/ds:SignedInfo/ds:Reference element.

location.city

This property is optional and contains the city where the signature was made.

location.street_address

This property is optional. It can only be present if the value of the type property is "xades-baseline" and contains the address (street and number) where the signature is made.

location.state_or_province

This property is optional and contains the province or state where the signature is made.

location.postal_code

This property is optional and contains the postcode where the signature is made.

location.country_name

This property is optional and contains the country where the signature is made.

roles.claimed[]

Roles the signer claims to have (SignerRole/ClaimedRoles for xades-bes and xades-epes and SignerRolev2/ClaimedRoles for xades-baseline) that must be included in the signer's qualifying properties that are protected (signed) by the signature itself via the corresponding ds:Signature/ds:SignedInfo/ds:Reference element.

parameters Property (Internally Detached XMLDSig/XAdES Signatures)

The parameters property is represented in JSON as follows:

{
"type" : {string},
"certificate" : {string},
"chain_certificates": [{string}],
  "default_digest_algorithm" : {string},
"signature_target" : {
"type" : "document",
"signature_packaging" : "detached",
"nodes_to_sign" : [
{
"type" : "document_reference",
"xpath" : {string}
}
],
"signature_placement" : {
"type" : "{string}",
"xpath" : {string}
}
},
"include_data_object_format" : {boolean},
"default_c14n_method" : {string},
"policy_identifier" : {
"policy_id" : {
"identifier" : {
"uri" : {string},
"qualifier" : {string}
},
"description" : {string},
"documentation_references" : [
{
"uri" : {string}
}
]
},
"policy_hash" : {
"digest_algorithm_identifier" : {
"id" : {string}
},
"digest_value" : {string}
},
"policy_qualifiers" : [
{
"type" : "spuri",
"uri" : {string}
}
]
}
"commitments" : [
{
"type" : "{string},
"uri" : {string}
}
],
"location" : {
"city" : {string},
"street_address" : {string},
"state_or_province" : {string},
"postal_code" : {string},
"country_name" : {string}
}
"roles" : {
"claimed" : [{string}]
}
}

Property

Description

type

Type of XML signature.

  • "xmldsig": XMLDSig signature

  • "xades-bes": XAdES-BES signature (Basic Electronic Signature) as per ETSI TS 101 903

  • "xades-epes": XAdES-EPES signature (Explicit Policy Electronic Signature) as per ETSI TS 101 903

  • "xades-baseline": baseline XAdES signature as per ETSI EN 319 132-1. Although the signature definition initially corresponds to a B-B signature, it could end up corresponding to B-T signature if a time-stamp is added to it (e.g., the signature is made by executing a document signature process in whose creation the inclusion of a time-stamp was specified).

certificate

Signer's certificate encoded in base64. This property is optional although it is required to execute the obtain the hash of the document in accordance with a signature definition operation when the value of the property type is "xades-bes" "xades-epes" or "xades_baseline".

chain_certificates[]

The signer's certificate chain encoded in base64, and non-including the root certificate.

default_digest_algorithm

Hash algorithm that must be used for obtaining the hashes that must be calculated in the signature. This property is optional and can take the following values: "sha1", "sha256", "sha384" or "sha512", with "sha256" being the default value.

signature_target

Information on the data to be signed, the relative location of the signature with regard to this data.

signature_target.type

Indicates if the signature is a countersignature. This property is optional and can only take the "document" value (i.e., the default value).

signature_target.signature_packaging

Relative position of the signature with respect to the data being signed. Always takes the "detached" value (the signature is separated from the data being signed).

signature_target.nodes_to_sign[]

This property contains information on the elements being signed of the document to which the signature definition is applied. The array can have information from multiple data elements.

signature_target.nodes_to_sign[].type

Type of reference to one of the elements to be signed. This property can only take the "document_reference" value (the element is a node of the XML document to which the signature definition is applied; specifically, the node whose path is specified by the signature_target.nodes_to_sign[].xpath property).

signature_target.nodes_to_sign[].xpath

XPath 2.0 expression that describes the path of one of the elements being signed and that forms part of the document to which the signature definition is applied. Currently, the XPath path can only correspond to a node of the document that has the Id. attribute.

signature_target.signature_placement

Information on the position of the signature (in the <ds:Signature> element) in the document to which the signature definition is applied.

signature_target.signature_placement.xpath

XPath 2.0 expression that describes (along with the signature_target.signature_placement.type parameter) the path of the signature in the document to which the signature definition is applied.

signature_target.signature_placement.type

Placement of the node containing the signature (<ds:Signature> element) with respect to the path indicated by signature_target.signature_placement.xpath.

  • "last_child_of": the signature is the last child node of the node whose path is specified in signature_target.signature_placement.xpath).

  • "first_child_of": the signature is the first child node of the node whose path is specified in signature_target.signature_placement.xpath).

  • "after": the signature is the first sibling node after the node whose path is specified in signature_target.signature_placement.xpath).

  • "before": the signature is the first sibling node before the node whose path is specified in signature_target.signature_placement.xpath).

include_data_object_format

This property is optional and specifies (true, false) if the format of the signed data (DataObjectFormat) must be included in this data's qualifying properties that are protected (signed) by the signature itself via the corresponding ds:Signature/ds:SignedInfo/ds:Reference element. The default value is false and the format specified when the value is true is text/xml.

default_c14n_method

Canonicalization algorithm used:

  • c14n: inclusive algorithm (http://www.w3.org/TR/2001/REC-xml-c14n-20010315).

  • c14nWithComments: inclusive algorithm with comments (http://www.w3.org/TR/2001/REC-xml-c14n-20010315#WithComments).

  • excC14n: exclusive algorithm (http://www.w3.org/2001/10/xml-exc-c14n#

  • excC14nWithComments: exclusive algorithm with comments (http://www.w3.org/2001/10/xml-exc-c14n#WithComments).

This property is optional and its default value is excC14n.

policy_identifier

Information on the signature policy in accordance with which the signature is performed and with which the signature must be validated. This property is only present (and in this case required) if the type property indicates "xades-epes" signature type. Information on the signature policy is included in the signature by inserting a SignaturePolicyIdentifier element in the signature's qualifying properties that are protected (signed) by the signature itself via the corresponding ds:Signature/ds:SignedInfo/ds:Reference element.

policy_identifier.policy_id.identifier.uri

URI of the signature policy.

policy_identifier.policy_id.identifier.qualifier

URI type of the signature policy when this URI is built using an OID. The following values are supported:

  • OIDAsURI

  • OIDAsURN

This property is optional.

policy_identifier.policy_id.description

Description of the policy. This property is optional.

policy_identifier.policy_id.documentation_references[]

Documents with additional information on the policy. This property is optional.

policy_identifier.policy_id.documentation_references[].uri

URI of a document with additional information on the policy.

policy_identifier.policy_hash

Information on the hash of the signature policy.

policy_identifier.policy_hash.digest_algorithm_identifier.id

Algorithm for calculating the hash of the signature policy. Its value can be "sha1", "sha256", "sha384" or "sha512".

policy_identifier.policy_hash.digest_value

Hash of the signature policy.

policy_identifier.policy_qualifiers[]

Qualifiers of the signature policy. This property is optional.

policy_identifier.policy_qualifiers[].type

Type of one of the qualifiers of the signature policy. This property always takes the "spuri" value.

policy_identifier.policy_qualifiers[].uri

URI of one of the qualifiers of the signature

commitments[]

Commitments of the signer (CommitmentTypeIndication) that must be included in the signed data's qualifying properties that are protected (signed) by the signature itself via the corresponding ds:Signature/ds:SignedInfo/ds:Reference element.

commitments[].type

A commitment of the signer. The following values are supported:

  • "proof_of_origin": the signer acknowledges creating and sending the document.

  • "proof_of_receipt": the signer acknowledges receiving the document.

  • "proof_of_delivery": the signer acknowledges delivering the document to the recipient.

  • "proof_of_sender": the signer acknowledges sending the document.

  • "proof_of_approval": the signer acknowledges approving the document.

  • "proof_of_creation": the signer acknowledges creating the document.

  • "custom": the signer acknowledges what is specified in the commitments[].uri property.

commitments[].uri

URI of one of the signer's commitments. This property is only present if the value of the commitments[].type property is "custom".

location

Place where the signature was made (SignatureProductionPlace for xades-bes and xades-epes and SignatureProductionPlacev2 for xades-baseline) that must be included in the signer's qualifying properties that are protected (signed) by the signature itself via the corresponding ds:Signature/ds:SignedInfo/ds:Reference element.

location.city

This property is optional and contains the city where the signature was made.

location.street_address

This property is optional. It can only be present if the value of the type property is "xades-baseline" and contains the address (street and number) where the signature is made.

location.state_or_province

This property is optional and contains the province or state where the signature is made.

location.postal_code

This property is optional and contains the postcode where the signature is made.

location.country_name

This property is optional and contains the country where the signature is made.

roles.claimed[]

Roles the signer claims to have (SignerRole/ClaimedRoles for xades-bes and xades-epes and SignerRolev2/ClaimedRoles for xades-baseline) that must be included in the signer's qualifying properties that are protected (signed) by the signature itself via the corresponding ds:Signature/ds:SignedInfo/ds:Reference element.

Parameters Property (Externally Detached XMLDSig/XAdES Signatures)

The parameters property is represented in JSON as follows:

{
"type" : {string},
"certificate" : {string},
"chain_certificates": [{string}],
  "default_digest_algorithm" : {string},
"signature_target" : {
"type" : "document",
"signature_packaging" : "detached",
"nodes_to_sign" : [
{
"type" : "raw_reference",
"uri" : {string}
}
]
},
"include_data_object_format" : {boolean},
"policy_identifier" : {
"policy_id" : {
"identifier" : {
"uri" : {string},
"qualifier" : {string}
},
"description" : {string},
"documentation_references" : [
{
"uri" : {string}
}
]
},
"policy_hash" : {
"digest_algorithm_identifier" : {
"id" : {string}
},
"digest_value" : {string}
},
"policy_qualifiers" : [
{
"type" : "spuri",
"uri" : {string}
}
]
}
"commitments" : [
{
"type" : "{string},
"uri" : {string}
}
],
"location" : {
"city" : {string},
"street_address" : {string},
"state_or_province" : {string},
"postal_code" : {string},
"country_name" : {string}
}
"roles" : {
"claimed" : [{string}]
}
}

Property

Description

type

Type of XML signature.

  • "xmldsig": XMLDSig signature

  • "xades-bes": XAdES-BES signature (Basic Electronic Signature) as per ETSI TS 101 903

  • "xades-epes": XAdES-EPES signature (Explicit Policy Electronic Signature) as per ETSI TS 101 903

  • "xades-baseline": baseline XAdES signature as per ETSI EN 319 132-1. Although the signature definition initially corresponds to a B-B signature, it could end up corresponding to B-T signature if a time-stamp is added to it (e.g., the signature is made by executing a document signature process in whose creation the inclusion of a time-stamp was specified).

certificate

Signer's certificate encoded in base64. This property is optional although it is required to execute the obtain the hash of the document in accordance with a signature definition operation when the value of the property type is "xades-bes" "xades-epes" or "xades_baseline" .

chain_certificates[]

The signer's certificate chain encoded in base64, and non-including the root certificate.

default_digest_algorithm

Hash algorithm that must be used for obtaining the hashes that must be calculated in the signature. This property is optional and can take the following values: "sha1", "sha256", "sha384" or "sha512", with "sha256" being the default value.

signature_target

Information on the data to be signed, the relative location of the signature with regard to this data.

signature_target.type

Indicates if the signature is a countersignature. This property is optional and can only take the "document" value (i.e., the default value).

signature_target.signature_packaging

Relative position of the signature with respect to the data being signed. Always takes the "detached" value (the signature is separated from the data being signed).

signature_target.nodes_to_sign[]

This property is optional and contains information on the document (of any type) to which the signature definition is applied (the array only has one element).

signature_target.nodes_to_sign[].type

Reference type of data to be signed. This property is optional and can only take the "raw_reference" value (the data is in the document, of any type, to which the signature definition is applied).

signature_target.nodes_to_sign[].uri

URI of data to be signed that must appear in the signature. This parameter is optional and its default value is "file:///<docname>", where <docname> is the name of the document to which the signature definition is applied. This is the name given to the document part of the multipart message for creating the document signature process or the document resource itself).

include_data_object_format

This property is optional and specifies (true, false) if the format of the signed data (DataObjectFormat) must be included in this data's qualifying properties that are protected (signed) by the signature itself via the corresponding ds:Signature/ds:SignedInfo/ds:Reference element. The default value is false and the format specified when the value is true is the format sent in the HTTP Content-Type header when the create a document signature process or the create a document and signature definitions resource operation is invoked to upload the document on which the signature definition is applied.

policy_identifier

Information on the signature policy in accordance with which the signature is performed and with which the signature must be validated. This property is only present (and in this case required) if the type property indicates "xades-epes" signature type. Information on the signature policy is included in the signature by inserting a SignaturePolicyIdentifier element in the signature's qualifying properties that are protected (signed) by the signature itself via the corresponding ds:Signature/ds:SignedInfo/ds:Reference element.

policy_identifier.policy_id.identifier.uri

URI of the signature policy.

policy_identifier.policy_id.identifier.qualifier

URI type of the signature policy when this URI is built using an OID. The following values are supported:

  • OIDAsURI

  • OIDAsURN

This property is optional.

policy_identifier.policy_id.description

Description of the policy. This property is optional.

policy_identifier.policy_id.documentation_references[]

Documents with additional information on the policy. This property is optional.

policy_identifier.policy_id.documentation_references[].uri

URI of a document with additional information on the policy.

policy_identifier.policy_hash

Information on the hash of the signature policy.

policy_identifier.policy_hash.digest_algorithm_identifier.id

Algorithm for calculating the hash of the signature policy. Its value can be "sha1", "sha256", "sha384" or "sha512".

policy_identifier.policy_hash.digest_value

Hash of the signature policy.

policy_identifier.policy_qualifiers[]

Qualifiers of the signature policy. This property is optional.

policy_identifier.policy_qualifiers[].type

Type of one of the qualifiers of the signature policy. This property always takes the "spuri" value.

policy_identifier.policy_qualifiers[].uri

URI of one of the qualifiers of the signature policy.

commitments[]

Commitments of the signer (CommitmentTypeIndication) that must be included in the signed data's qualifying properties that are protected (signed) by the signature itself via the corresponding ds:Signature/ds:SignedInfo/ds:Reference element.

commitments[].type

A commitment of the signer. The following values are supported:

  • "proof_of_origin": the signer acknowledges creating and sending the document.

  • "proof_of_receipt": the signer acknowledges receiving the document.

  • "proof_of_delivery": the signer acknowledges delivering the document to the recipient.

  • "proof_of_sender": the signer acknowledges sending the document.

  • "proof_of_approval": the signer acknowledges approving the document.

  • "proof_of_creation": the signer acknowledges creating the document.

  • "custom": the signer acknowledges what is specified in the commitments[].uri property.

location

Place where the signature was made (SignatureProductionPlace for xades-bes and xades-epes and SignatureProductionPlacev2 for xades-baseline) that must be included in the signer's qualifying properties that are protected (signed) by the signature itself via the corresponding ds:Signature/ds:SignedInfo/ds:Reference element.

location.city

This property is optional and contains the city where the signature was made.

location.street_address

This property is optional. It can only be present if the value of the type property is "xades-baseline" and contains the address (street and number) where the signature is made.

location.state_or_province

This property is optional and contains the province or state where the signature is made.

location.postal_code

This property is optional and contains the postcode where the signature is made.

location.country_name

This property is optional and contains the country where the signature is made.

roles.claimed[]

Roles the signer claims to have (SignerRole/ClaimedRoles for xades-bes and xades-epes and SignerRolev2/ClaimedRoles for xades-baseline) that must be included in the signer's qualifying properties that are protected (signed) by the signature itself via the corresponding ds:Signature/ds:SignedInfo/ds:Reference element.

Parameters Property (Externally Detached XMLDSig/XAdES Signatures from hashes)

The parameters property is represented in JSON as follows:

{
"type" : {string},
"certificate": {string},
"chain_certificates": [{string}],
  "default_digest_algorithm" : {string},
"signature_target" : {
"type" : "document",
"signature_packaging" : "detached",
"nodes_to_sign" : [
{
"type" : "external_reference",
"uri" : {string},
"reference_type" : {string},
"digest_algorithm" : {string},
"digest_value" : {string},
"transforms" : [
{
"type" : "c14n",
"method" : {string}
}
]
}
]
},
"policy_identifier" : {
"policy_id" : {
"identifier" : {
"uri" : {string},
"qualifier" : {string}
},
"description" : {string},
"documentation_references" : [
{
"uri" : {string}
}
]
},
"policy_hash" : {
"digest_algorithm_identifier" : {
"id" : {string}
},
"digest_value" : {string}
},
"policy_qualifiers" : [
{
"type" : "spuri",
"uri" : {string}
}
]
}
"commitments" : [
{
"type" : "{string},
"uri" : {string}
}
],
"location" : {
"city" : {string},
"street_address" : {string},
"state_or_province" : {string},
"postal_code" : {string},
"country_name" : {string}
}
"roles" : {
"claimed" : [{string}]
}
}


Property

Description

type

Type of XML signature:

  • "xmldsig": XMLDSig signature

  • "xades-bes": XAdES-BES signature (Basic Electronic Signature) as per ETSI TS 101 903

  • "xades-epes": XAdES-EPES signature (Explicit Policy Electronic Signature) as per ETSI TS 101 903

  • "xades-baseline": baseline XAdES signature as per ETSI EN 319 132-1. Although the signature definition initially corresponds to a B-B signature, it could end up corresponding to B-T signature if a time-stamp is added to it (e.g., the signature is made by executing a document signature process in whose creation the inclusion of a time-stamp was specified).

certificate

Signer's certificate encoded in base64. This property is optional, although it is necessary for executing the obtain the hash of the document in accordance with a signature definition operation when the value of the type property is "xades-bes" "xades-epes" or "xades_baseline".

chain_certificates[]

The signer's certificate chain encoded in base64, and non-including the root certificate.

default_digest_algorithm

Hash algorithm that must be used for obtaining the hashes that must be calculated in the signature. This property is optional and can take the following values: "sha1", "sha256", "sha384" or "sha512", with "sha256" being the default value.

signature_target

Information on the data to be signed, the relative location of the signature with regard to this data.

signature_target.type

Indicates if the signature is a countersignature. This property is optional and can only take the "document" value (i.e., the default value).

signature_target.signature_packaging

Relative position of the signature with respect to the data being signed. Always takes the "detached" value (the signature is separated from the data being signed).

signature_target.nodes_to_sign[]

This property contains information on the external data (of any type) to be signed. The array can have information from multiple data elements.

signature_target.nodes_to_sign[].type

Type of reference to one piece of the data to be signed. This property can only take the "external_reference" value (the data is external and not in the platform). This value is equivalent to saying "there is no reference" or that the reference is the hash of the data.

signature_target.nodes_to_sign[].uri

URI of one of the pieces of data to be signed that must appear in the signature.

signature_target.nodes_to_sign[].digest_algorithm

Algorithm used to obtain hash of one of the pieces of data to be signed. Its value can be "sha1", "sha256", "sha384" or "sha512".

signature_target.nodes_to_sign[].digest_value

Hash of one of the pieces of data to be signed.

signature_target.nodes_to_sign[].reference_type

This property is optional and contains information on the type of data signed, as defined by the XML-DSig standard (corresponding to the Type attribute of the <Reference> element of this standard).

signature_target.nodes_to_sign[].transforms[]

This property is optional and contains information on the transformations performed on the data signed prior to calculating its hash (the array only has one element).

signature_target.nodes_to_sign[].transforms[].type

This property is required and specifies the type of one of the transformations performed on the data signed prior to calculating its hash. Currently, only the c14n value is supported (only canonicalization transformations are supported).

signature_target.nodes_to_sign[].transforms[].method

This property is required and specifies the one of the transformations performed on the data signed prior to calculating its hash. (This property can take as its value all the canonicalization algorithms.)

policy_identifier

Information on the signature policy in accordance with which the signature is performed and with which the signature must be validated. This property is only present (and in this case required) if the type property indicates "xades-epes" signature type. Information on the signature policy is included in the signature by inserting a SignaturePolicyIdentifier element in the signature's qualifying properties that are protected (signed) by the signature itself via the corresponding ds:Signature/ds:SignedInfo/ds:Reference element.

policy_identifier.policy_id.identifier.uri

URI of the signature policy.

policy_identifier.policy_id.identifier.qualifier

URI type of the signature policy when this URI is built using an OID. The following values are supported:

  • OIDAsURI

  • OIDAsURN

This property is optional.

policy_identifier.policy_id.description

Description of the policy. This property is optional.

policy_identifier.policy_id.documentation_references[]

Documents with additional information on the policy. This property is optional.

policy_identifier.policy_id.documentation_references[].uri

URI of a document with additional information on the policy.

policy_identifier.policy_hash

Information on the hash of the signature policy.

policy_identifier.policy_hash.digest_algorithm_identifier.id

Algorithm for calculating the hash of the signature policy. Its value can be "sha1", "sha256", "sha384" or "sha512".

policy_identifier.policy_hash.digest_value

Hash of the signature policy.

policy_identifier.policy_qualifiers[]

Qualifiers of the signature policy. This property is optional.

policy_identifier.policy_qualifiers[].type

Type of one of the qualifiers of the signature policy. This property always takes the "spuri" value.

policy_identifier.policy_qualifiers[].uri

URI of one of the qualifiers of the signature policy.

commitments[]

Commitments of the signer (CommitmentTypeIndication) that must be included in the signed data's qualifying properties that are protected (signed) by the signature itself via the corresponding ds:Signature/ds:SignedInfo/ds:Reference element.

commitments[].type

A commitment of the signer. The following values are supported:

  • "proof_of_origin": the signer acknowledges creating and sending the document.

  • "proof_of_receipt": the signer acknowledges receiving the document.

  • "proof_of_delivery": the signer acknowledges delivering the document to the recipient.

  • "proof_of_sender": the signer acknowledges sending the document.

  • "proof_of_approval": the signer acknowledges approving the document.

  • "proof_of_creation": the signer acknowledges creating the document.

  • "custom": the signer acknowledges what is specified in the commitments[].uri property.

commitments[].uri

URI of one of the signer's commitments. This property is only present if the value of the commitments[].type property is "custom".

location

Place where the signature was made (SignatureProductionPlace for xades-bes and xades-epes and SignatureProductionPlacev2 for xades-baseline) that must be included in the signer's qualifying properties that are protected (signed) by the signature itself via the corresponding ds:Signature/ds:SignedInfo/ds:Reference element.

location.city

This property is optional and contains the city where the signature was made.

location.street_address

This property is optional. It can only be present if the value of the type property is "xades-baseline" and contains the address (street and number) where the signature is made.

location.state_or_province

This property is optional and contains the province or state where the signature is made.

location.postal_code

This property is optional and contains the postcode where the signature is made.

location.country_name

This property is optional and contains the country where the signature is made.

roles.claimed[]

Roles the signer claims to have (SignerRole/ClaimedRoles for xades-bes and xades-epes and SignerRolev2/ClaimedRoles for xades-baseline) that must be included in the signer's qualifying properties that are protected (signed) by the signature itself via the corresponding ds:Signature/ds:SignedInfo/ds:Reference element.

Parameters Property (Enveloping XMLDSig/XAdES Signatures)

The parameters property is represented in JSON as follows:

{
"type" : {string},
"certificate": {string},
"chain_certificates": [{string}],
  "default_digest_algorithm" : {string},
"signature_target" : {
"type" : "document",
"signature_packaging" : "enveloping"
},
"include_data_object_format" : {boolean},
"policy_identifier" : {
"policy_id" : {
"identifier" : {
"uri" : {string},
"qualifier" : {string}
},
"description" : {string},
"documentation_references" : [
{
"uri" : {string}
}
]
},
"policy_hash" : {
"digest_algorithm_identifier" : {
"id" : {string}
},
"digest_value" : {string}
},
"policy_qualifiers" : [
{
"type" : "spuri",
"uri" : {string}
}
]
}
"commitments" : [
{
"type" : {string},
"uri" : {string}
}
],
"location" : {
"city" : {string},
"street_address" : {string},
"state_or_province" : {string},
"postal_code" : {string},
"country_name" : {string}
}
"roles" : {
"claimed" : [{string}]
}
}

Property

Description

type

Type of XML signature:

  • "xmldsig": XMLDSig signature

  • "xades-bes": XAdES-BES signature (Basic Electronic Signature) as per ETSI TS 101 903

  • "xades-epes": XAdES-EPES signature (Explicit Policy Electronic Signature) as per ETSI TS 101 903

  • "xades-baseline": baseline XAdES signature as per ETSI EN 319 132-1. Although the signature definition initially corresponds to a B-B signature, it could end up corresponding to B-T signature if a time-stamp is added to it (e.g., the signature is made by executing a document signature process in whose creation the inclusion of a time-stamp was specified).

certificate

Signer's certificate encoded in base64. This property is optional, although it is necessary for executing the obtain the hash of the document in accordance with a signature definition operation when the value of the type property is "xades-bes" "xades-epes" or "xades_baseline".

chain_certificates[]

The signer's certificate chain encoded in base64, and non-including the root certificate.

default_digest_algorithm

Hash algorithm that must be used to obtain the hashes that must be calculated in the signature. This property is optional and can take the following values: "sha1", "sha256", "sha384" or "sha512", with "sha256" being the default value.

signature_target

Information on the data to be signed, the relative location of the signature with regard to this data.

signature_target.type

Indicates if the signature is a countersignature. This property is optional and can only take the "document" value (i.e., the default value).

signature_target.signature_packaging

Relative position of the signature with respect to the data being signed. Always takes the "enveloping" value (the XML signature contains the data being signed).

include_data_object_format

This property is optional and specifies (true, false)if the format of the signed data (DataObjectFormat) must be included in this data's qualifying properties that are protected (signed) by the signature itself via the corresponding ds:Signature/ds:SignedInfo/ds:Reference element. The default value is false and the format specified when the value is true is the format sent in the HTTP Content-Type header when the create a document signature process or the create a document and signature definitions resource operation is invoked to upload the document on which the signature definition is applied.

policy_identifier

Information on the signature policy in accordance with which the signature is performed and with which the signature must be validated. This property is only present (and in this case required) if the type property indicates the "xades-epes" signature type. Information on the signature policy is included in the signature by inserting a SignaturePolicyIdentifier element in the signature's qualifying properties that are protected (signed) by the signature itself via the corresponding ds:Signature/ds:SignedInfo/ds:Reference element.

policy_identifier.policy_id.identifier.uri

URI of the signature policy.

policy_identifier.policy_id.identifier.qualifier

URI type of the signature policy when this URI is built using an OID. The following values are supported:

  • OIDAsURI

  • OIDAsURN

This property is optional.

policy_identifier.policy_id.description

Description of the policy. This property is optional.

policy_identifier.policy_id.documentation_references[]

Documents with additional information on the policy. This property is optional.

policy_identifier.policy_id.documentation_references[].uri

URI of a document with additional information on the policy.

policy_identifier.policy_hash

Information on the hash of the signature policy.

policy_identifier.policy_hash.digest_algorithm_identifier.id

Algorithm for calculating the hash of the signature policy. Its value can be "sha1", "sha256", "sha384" or "sha512".

policy_identifier.policy_hash.digest_value

Hash of the signature policy.

policy_identifier.policy_qualifiers[]

Qualifiers of the signature policy. This property is optional.

policy_identifier.policy_qualifiers[].type

Type of one of the qualifiers of the signature policy. This property always takes the "spuri" value.

policy_identifier.policy_qualifiers[].uri

URI of one of the qualifiers of the signature policy.

commitments[]

Commitments of the signer (CommitmentTypeIndication) that must be included in the signed data's qualifying properties that are protected (signed) by the signature itself via the corresponding ds:Signature/ds:SignedInfo/ds:Reference element.

commitments[].type

A commitment of the signer. The following values are supported:

  • "proof_of_origin": the signer acknowledges creating and sending the document.

  • "proof_of_receipt": the signer acknowledges receiving the document.

  • "proof_of_delivery": the signer acknowledges delivering the document to the recipient.

  • "proof_of_sender": the signer acknowledges sending the document.

  • "proof_of_approval": the signer acknowledges approving the document.

  • "proof_of_creation": the signer acknowledges creating the document.

  • "custom": the signer acknowledges what is specified in the commitments[].uri property.

commitments[].uri

URI of one of the signer's commitments. This property is only present if the value of the commitments[].type property is "custom".

location

Place where the signature was made (SignatureProductionPlace for xades-bes and xades-epes and SignatureProductionPlacev2 for xades-baseline) that must be included in the signer's qualifying properties that are protected (signed) by the signature itself via the corresponding ds:Signature/ds:SignedInfo/ds:Reference element.

location.city

This property is optional and contains the city where the signature was made.

location.street_address

This property is optional. It can only be present if the value of the type property is "xades-baseline" and contains the address (street and number) where the signature is made.

location.state_or_province

This property is optional and contains the province or state where the signature is made.

location.postal_code

This property is optional and contains the postcode where the signature is made.

location.country_name

This property is optional and contains the country where the signature is made.

roles.claimed[]

Roles the signer claims to have (SignerRole/ClaimedRoles for xades-bes and xades-epes and SignerRolev2/ClaimedRoles for xades-baseline) that must be included in the signer's qualifying properties that are protected (signed) by the signature itself via the corresponding ds:Signature/ds:SignedInfo/ds:Reference element.

Parameters Property (XMLDSig/XAdES Signatures of a Manifest)

The parameters property is represented in JSON as follows:

{
"type" : {string},
"certificate" : {string},
"chain_certificates": [{string}],
   "default_digest_algorithm": {string},
"signature_target": {
    "type": "document",
    "signature_packaging": "enveloping",
    "nodes_to_sign": [
    {
"type": "manifest",
"references": [
{
"uri": {string},
"digest_algorithm": {string},
"digest_value": {string},
"transforms": [
{
"type": "c14n",
"method": {string},
}
]
}
]
}
]
}
}


Property

Description

type

Type of XML signature:

  • "xmldsig": XMLDSig signature

  • "xades-bes": XAdES-BES signature (Basic Electronic Signature) as per ETSI TS 101 903

  • "xades-epes": XAdES-EPES signature (Explicit Policy Electronic Signature) as per ETSI TS 101 903

  • "xades-baseline": baseline XAdES signature as per ETSI EN 319 132-1. Although the signature definition initially corresponds to a B-B signature, it could end up corresponding to B-T signature if a time-stamp is added to it (e.g., the signature is made by executing a document signature process in whose creation the inclusion of a time-stamp was specified).

certificate

Signer's certificate encoded in base64. This property is optional, although it is necessary when the value of the type property is "xades-bes", "xades-epes", or "xades_baseline".

chain_certificates[]

The signer's certificate chain encoded in base64, and non-including the root certificate.

default_digest_algorithm

Hash algorithm that must be used for obtaining the hashes that must be calculated in the signature. This property is optional and can take the following values: "sha1", "sha256", "sha384" or "sha512", with "sha256" being the default value.

signature_target

Information on the data to be signed, and the relative location of the signature with regard to this data.

signature_target.type

Indicates if the signature is a countersignature. This property is optional and can only take the "document" value (i.e., the default value).

signature_target.signature_packaging

Relative position of the signature with respect to the data being signed. Always takes the "enveloping" value (The XML signature contains the Manifest element which is signed).

signature_target.nodes_to_sign[]

This property contains information on the data to be signed. The array can only have information regarding a single piece of data (the manifest).

signature_target.nodes_to_sign[0].type

This property can only take the "manifest" value.

signature_target.nodes_to_sign[0].references[]

Information on the data to be signed by including it in the Manifest element.

signature_target.nodes_to_sign[0].references[].uri

URI of one piece of data to be signed by including it in the Manifest element.

signature_target.nodes_to_sign[0].references[].digest_algorithm

Algorithm used to obtain the hash of one piece of data to be signed by including it in the Manifest element. Its value can be "sha1", "sha256", "sha384" or "sha512".

signature_target.nodes_to_sign[0].references[].digest_value

Hash of one piece of data to be signed by including it in the Manifest element.

signature_target.nodes_to_sign[0].references[].transforms[]

This property is optional and contains information on the transformations performed on one piece of data to be signed by including it in the Manifest element (the array can only hold one element).

signature_target.nodes_to_sign[0].references[].transforms[0].type

This property is required and specifies the type of one transformation performed on one piece of data to be signed by including it in the Manifest element before calculating its hash. Currently, only the c14n value is supported (only canonicalization transformations are supported).

signature_target.nodes_to_sign[0].references[].transforms[0].method

This property is required and specifies one of the transformations performed on one piece of data to be signed by including it in the Manifest element before calculating its hash. (This property can take as its value all the canonicalization algorithms.)

  • c14n: inclusive algorithm (http://www.w3.org/TR/2001/REC-xml-c14n-20010315).

  • c14nWithComments: inclusive algorithm with comments (http://www.w3.org/TR/2001/REC-xml-c14n-20010315#WithComments).

  • excC14n: exclusive algorithm (http://www.w3.org/2001/10/xml-exc-c14n#).

  • excC14nWithComments: exclusive algorithm with comments (http://www.w3.org/2001/10/xml-exc-c14n#WithComments).

Parameters Property (XAdES Countersignatures)

The parameters property is represented in JSON as follows:

{
"type" : {string},
"certificate": {string},
"chain_certificates": [{string}],
  "default_digest_algorithm" : {string},
"signature_target" : {
"type" : "signature",
"signature_packaging" : {string},
"nodes_to_sign" : [
{
"type" : "signature_reference",
"xpath" : {string}
}
],
"signature_placement" : {
"type" : {string},
"xpath" : {string}
}
},
"default_c14n_method" : {string},
"policy_identifier" : {
"policy_id" : {
"identifier" : {
"uri" : {string},
"qualifier" : {string}
},
"description" : {string},
"documentation_references" : [
{
"uri" : {string}
}
]
},
"policy_hash" : {
"digest_algorithm_identifier" : {
"id" : {string}
},
"digest_value" : {string}
},
"policy_qualifiers" : [
{
"type" : "spuri",
"uri" : {string}
}
]
}
"commitments" : [
{
"type" : {string},
"uri" : {string}
}
],
"location" : {
"city" : {string},
"street_address" : {string},
"state_or_province" : {string},
"postal_code" : {string},
"country_name" : {string}
}
"roles" : {
"claimed" : [{string}]
}
}

Property

Description

type

Type of XML signature:

  • "xmldsig": XMLDSig signature

  • "xades-bes": XAdES-BES (basic electronic signature) signature as per ETSI TS 101 903

  • "xades-epes": XAdES-EPES (explicit policy electronic signature) signature as per ETSI TS 101 903

  • "xades-baseline": baseline XAdES signature as per ETSI EN 319 132-1. Although the signature definition initially corresponds to a B-B signature, it could end up corresponding to B-T signature if a time-stamp is added to it (e.g., the signature is made by executing a document signature process in whose creation the inclusion of a time-stamp was specified).

certificate

Signer's certificate encoded in base64. This property is optional, although it is necessary for executing the obtain the hash of the document in accordance with a signature definition operation when the value of the type property is "xades-bes" "xades-epes" or "xades_baseline".

chain_certificates[]

The signer's certificate chain encoded in base64, and non-including the root certificate.

default_digest_algorithm

Hash algorithm that must be used to obtain the hashes that must be calculated in the signature. This property is optional and can take the following values: "sha1", "sha256", "sha384" or "sha512", with "sha256" being the default value.

signature_target

Information on the signature to be countersigned and the relative location of the signature with regard to this data.

signature_target.type

This property can only have the "signature" value. It specifies that the data to be signed corresponds to a signature to be countersigned.

signature_target.signature_packaging

Location of the countersignature with respect to the signature to be countersigned.

  • "enveloped": the countersignature is contained in the countersigned signed XML.

  • "detached": the countersignature is separate from the XML signature that is countersigned (as a result, the countersignature can be updated after an archive time-stamp has been added to the signature being countersigned).

signature_target.nodes_to_sign[]

This optional property contains information on the signature or signatures to be countersigned.

  • If the countersignature is "enveloped", the array can only have one element. By default, the countersignature is applied to the only signature (or countersignature) that has not been countersigned. If more than one (or no signature) meets this condition, an error occurs when the signature is performed.

  • If the countersignature is "detached", the array can have multiple elements, each pointing to a different signature. In the resulting countersignature, a Reference element is created for each element specified (i.e., a "detached" countersignature can countersign various signatures simultaneously). Each signature to be countersigned must include a SignatureValue element with the Id attribute.

signature_target.nodes_to_sign[].type

Type of reference to the signature to be countersigned. This property can only take the "signature_reference" value.

signature_target.nodes_to_sign[].xpath

XPath 2.0 expression that describes the path of the signatures to be countersigned (one in the "enveloped" case, any number in the "detached" case). The expression must be resolved in one or more Signature elements (and not in one or more SignatureValue elements), and these elements must have the Id attribute.

signature_target.signature_placement

This property can only be present if the signature definition corresponds to a detached countersignature, in which case it is optional. It contains information on the position of the counter (in the <ds:Signature> element) in the document to which the signature definition is applied. If not included, when the signature provider performs the countersignature based on the signature definition, it returns only the countersignature in question, analogously or however externally detached signatures are performed.

signature_target.signature_placement.xpath

XPath 2.0 expression that describes (along with the signature_target.signature_placement.type parameter) the path of the countersignature in the document to which the signature definition is applied.

signature_target.signature_placement.type

Placement of the node containing the signature (<ds:Signature> element) with respect to the path indicated by signature_target.signature_placement.xpath.

  • "last_child_of": the signature is the last child node of the node whose path is specified in signature_target.signature_placement.xpath).

  • "first_child_of": the signature is the first child node of the node whose path is specified in signature_target.signature_placement.xpath).

  • "after": the signature is the first sibling node after the node whose path is specified in signature_target.signature_placement.xpath).

  • "before": the signature is the first sibling node prior to the node whose path is specified in signature_target.signature_placement.xpath).

default_c14n_method

Canonicalization algorithm used:

  • c14n: inclusive algorithm (http://www.w3.org/TR/2001/REC-xml-c14n-20010315).

  • c14nWithComments: inclusive algorithm with comments (http://www.w3.org/TR/2001/REC-xml-c14n-20010315#WithComments).

  • excC14n: exclusive algorithm (http://www.w3.org/2001/10/xml-exc-c14n#

  • excC14nWithComments: exclusive algorithm with comments (http://www.w3.org/2001/10/xml-exc-c14n#WithComments).

This property is optional and its default value is excC14n.

policy_identifier

Information on the signature policy in accordance with which the signature is performed and with which the signature must be validated. This property is only present (and in this case required) if the type property indicates the "xades-epes" signature type. Information on the signature policy is included in the signature by inserting a SignaturePolicyIdentifier element in the signature's qualifying properties that are protected (signed) by the signature itself via the corresponding ds:Signature/ds:SignedInfo/ds:Reference element.

policy_identifier.policy_id.identifier.uri

URI of the signature policy.

policy_identifier.policy_id.identifier.qualifier

URI type of the signature policy when this URI is built using an OID. The following values are supported:

  • OIDAsURI

  • OIDAsURN

This property is optional.

policy_identifier.policy_id.description

Description of the policy. This property is optional.

policy_identifier.policy_id.documentation_references[]

Documents with additional information on the policy. This property is optional.

policy_identifier.policy_id.documentation_references[].uri

URI of a document with additional information on the policy.

policy_identifier.policy_hash

Information on the hash of the signature policy.

policy_identifier.policy_hash.digest_algorithm_identifier.id

Algorithm for calculating the hash of the signature policy. Its value can be "sha1", "sha256", "sha384" or "sha512".

policy_identifier.policy_hash.digest_value

Hash of the signature policy.

policy_identifier.policy_qualifiers[]

Qualifiers of the signature policy. This property is optional.

policy_identifier.policy_qualifiers[].type

Type of one of the qualifiers of the signature policy. This property always takes the "spuri" value.

policy_identifier.policy_qualifiers[].uri

URI of one of the qualifiers of the signature policy.

commitments[]

Commitments of the signer (CommitmentTypeIndication) that must be included in the signed data's qualifying properties that are protected (signed) by the signature itself via the corresponding ds:Signature/ds:SignedInfo/ds:Reference element.

commitments[].type

A commitment of the signer. The following values are supported:

  • "proof_of_origin": the signer acknowledges creating and sending the document.

  • "proof_of_receipt": the signer acknowledges receiving the document.

  • "proof_of_delivery": the signer acknowledges delivering the document to the recipient.

  • "proof_of_sender": the signer acknowledges sending the document.

  • "proof_of_approval": the signer acknowledges approving the document.

  • "proof_of_creation": the signer acknowledges creating the document.

  • "custom": the signer acknowledges what is specified in the commitments[].uri.

commitments[].uri

URI of one of the signer's commitments. This property is only present if the value of the commitments[].type property is "custom".

location

Place where the signature was made (SignatureProductionPlace for xades-bes and xades-epes and SignatureProductionPlacev2 for xades-baseline) that must be included in the signer's qualifying properties that are protected (signed) by the signature itself via the corresponding ds:Signature/ds:SignedInfo/ds:Reference element.

location.city

This property is optional and contains the city where the signature was made.

location.street_address

This property is optional. It can only be present if the value of the type property is "xades-baseline" and contains the address (street and number) where the signature is made.

location.state_or_province

This property is optional and contains the province or state where the signature is made.

location.postal_code

This property is optional and contains the postcode where the signature is made.

location.country_name

This property is optional and contains the country where the signature is made.

roles.claimed[]

Roles the signer claims to have (SignerRole/ClaimedRoles for xades-bes and xades-epes and SignerRolev2/ClaimedRoles for xades-baseline) that must be included in the signer's qualifying properties that are protected (signed) by the signature itself via the corresponding ds:Signature/ds:SignedInfo/ds:Reference element.

Parameters Property (CMS/CAdES Signatures)

The parameters property is represented in JSON as follows:

{
"type" : {string},
"certificate": {string},
"chain_certificates": [{string}],
  "default_digest_algorithm" : {string},
"signature_target" : {
"type" : "document",
"signature_packaging" : {string}
},
"policy_identifier" : {
"policy_id" : { "oid" : {string} },
"policy_hash" : {
"digest_algorithm_identifier" : { "id" : {string} },
"digest_value" : {string}
}
},
"mime-type" : {string},
"commitments" : [ { "type" : {string} } ],
"location" : {
"country_name" : {string},
"locality_name" : {string},
"postal_address" : {string}
}
"roles" : {
"claimed" : [{string}]
},
"signed_attributes" : [
{
"type" : {string},
"oid" : {string},
"encoded" : {string}
}
],
"unsigned_attributes" : [
{
"type" : {string},
"oid" : {string},
"encoded" : {string}
}
]
"content_hints" : [
{
"content_type" : { "oid" : {string} },
"content_description" : {string}
}
]
}


Property

Description

type

Type of CMS signature:

  • "cms": CMS signature as per RFC 3852

  • "cades-bes": CAdES-BES signature (Basic Electronic Signature) as per ETSI TS 101 733

  • "cades-epes": CAdES-EPES signature (Explicit Policy-based Electronic Signature) as per ETSI TS 101 733

  • "cades-baseline": baseline CAdES signature as per ETSI EN 319 132-1. Although the signature definition initially corresponds to a B-B signature, it could end up corresponding to B-T signature if a time-stamp is added to it (e.g., the signature is made by executing a document signature process in whose creation the inclusion of a time-stamp was specified).

certificate

Signer's certificate encoded in base64. This property is optional, although it is necessary for executing the obtain the hash of the document in accordance with a signature definition operation when the value of the type property is "cades-bes", "cades-epes" or "cades-baseline".

chain_certificates[]

The signer's certificate chain encoded in base64, and non-including the root certificate.

default_digest_algorithm

Hash algorithm that must be used to obtain the hashes that must be calculated in the signature. This property is optional and can take the following values: "sha1", "sha256", "sha384" or "sha512", with "sha256" being the default value.

signature_target

This property is optional and contains information on the relative position of the signature with regard to the data to be signed.

signature_target.type

This property is optional and can only take the "document" value (i.e., the default value).

signature_target.signature_packaging

Relative position of the signature with respect to the data being signed. This property is optional. It supports the following values: "detached" or "enveloping" (attached). "detached" is the default value.

policy_identifier

Information on the signature policy in accordance with which the signature is performed and with which the signature must be validated. This property is required if the signature type specified by the type property is "cades-epes". It is optional if the signature type is "cades-baseline". It cannot be present if the signature type is "cms" or "cades-bes".

policy_identifier.policy_id.oid

OID of the signature policy.

policy_identifier.policy_hash.digest_algorithm_identifier.id

Algorithm for calculating the hash of the signature policy. Its value can be "sha1", "sha256", "sha384" or "sha512".

policy_identifier.policy_hash.digest_value

Hash of the signature policy.

mime-type

MIME type of the signed data. This property is optional if the value of the type property is "cades-bes", "cades-epes" or "cades-baseline". This property cannot be present if this value is "cms".

commitments[]

Commitments of the signer that must be included in the signed attributes of the signature. This property is optional if the value of the type property is "cades-bes", "cades-epes" or "cades-baseline". This property cannot be present if this value is "cms".

commitments[].type

A commitment of the signer. The following values are supported:

  • "proof_of_origin": the signer acknowledges creating and sending the document.

  • "proof_of_receipt": the signer acknowledges receiving the document.

  • "proof_of_delivery": the signer acknowledges delivering the document to the recipient.

  • "proof_of_sender": the signer acknowledges sending the document.

  • "proof_of_approval": the signer acknowledges approving the document.

  • "proof_of_creation": the signer acknowledges creating the document.

  • "custom": the signer acknowledges what is specified in the commitments[].oid property.

commitments[].oid

OID identifying a signer commitment. This property is optional and only used by the "custom" type commitments.

location

Information on the location where the signature was made that must include the signed attributes of the signature. This property is optional if the value of the type property is "cades-bes", "cades-epes" or "cades-baseline". This property cannot be present if this value is "cms".

location.country_name

This property is optional and contains the country where the signature is made.

location.locality_name

This property is optional and contains the locality where the signature was made.

location.postal_address

This property is optional and contains the postal address where the signature is made.

roles.claimed[]

Roles that the signer claims to have — must be included in the signed attributes of the signature. This property is optional if the value of the type property is "cades-bes", "cades-epes" or "cades-baseline". This property cannot be present if this value is "cms".

signed_attributes[]

This property is optional and contains information on the additional signed attributes that must be put in the signature.

signed_attributes[].type

This property can only take the "custom" value. It specifies the additional signed attribute type that must be put in the signature.

signed_attributes[].oid

OID that identifies the type of one of the signed attributes that must be put in the signature.

signed_attributes[].encoded

Value of one of signed attributes that must be put in the signature.

unsigned_attributes[]

This property is optional and contains information on the unsigned attributes that must be put in the signature.

unsigned_attributes[].type

This property can only take the "custom" value. It specifies the unsigned attribute type that must be put in the signature.

unsigned_attributes[].oid

OID that identifies the type of one of the unsigned attributes that must be put in the signature.

unsigned_attributes[].encoded

Value of one of the unsigned attributes that must be put in the signature.

content_hints[]

Information on the content encapsulated by the data being signed. For example, if the encryption of data is being signed, it can contain information on the encrypted data. This property is optional if the value of the type property is "cades-bes", "cades-epes" or "cades-baseline". This property cannot be present if this value is "cms".

content_hints[].content_type.oid

OID that identifies the content type encapsulating the data to be signed.

content_hints[].content_description

Text description of the content encapsulated by the data to be signed.

Parameters Property (CMS/CAdES Countersignatures)

The parameters property is represented in JSON as follows:

{
"type" : {string},
"certificate": {string},
"chain_certificates": [{string}],
  "default_digest_algorithm" : {string},
"signature_target" : {
"type" : "signature"
},
"policy_identifier" : {
"policy_id" : { "oid" : {string} },
"policy_hash" : {
"digest_algorithm_identifier" : { "id" : {string} },
"digest_value" : {string}
}
},
"commitments" : [
{
"type" : {string},
"oid" : {string}
}
"location" : {
"country_name" : {string},
"locality_name" : {string},
"postal_address" : {string}
}
"roles" : {
"claimed" : [{string}]
},
"signed_attributes" : [
{
"type" : {string},
"oid" : {string},
"encoded" : {string}
}
],
"unsigned_attributes" : [
{
"type" : {string},
"oid" : {string},
"encoded" : {string}
}
]
}


Property

Description

type

Type of CMS signature:

  • "cms": CMS signature as per RFC 3852

  • "cades-bes": CAdES-BES (basic electronic signature) signature as per ETSI TS 101 733

  • "cades-epes": CAdES-EPES signature (Explicit Policy-based Electronic Signature) as per ETSI TS 101 733

  • "cades-baseline": baseline CAdES signature as per ETSI EN 319 132-1. Although the signature definition initially corresponds to a B-B signature, it could end up corresponding to B-T signature if a time-stamp is added to it (e.g., the signature is made by executing a document signature process in whose creation the inclusion of a time-stamp was specified).

certificate

Signer's certificate encoded in base64. This property is optional, although it is necessary for executing the obtain the hash of the document in accordance with a signature definition operation when the value of the type property is "cades-bes", "cades-epes" or "cades-baseline".

chain_certificates[]

The signer's certificate chain encoded in base64, and non-including the root certificate.

default_digest_algorithm

Hash algorithm that must be used to obtain the hashes that must be calculated in the signature. This property is optional and can take the following values: "sha1", "sha256", "sha384" or "sha512", with "sha256" being the default value.

signature_target.type

This property can only have the "signature" value. It specifies that the data to be signed corresponds to a signature to be countersigned. This signature must always be in the CMS/CAdES structure that constitutes the content (content) of the document and signature definitions resource that the signature definition forms part of. This structure only supports the following possibilities (otherwise an error occurs):

  • It contains a signature and no countersignature. In this case, the signature is countersigned.

  • It contains a signature and a sequence of countersignatures, the first of which is a countersignature on the signature. The following countersignatures countersign the preceding countersignatures. The last countersignature of the sequence is countersigned.

policy_identifier

Information on the signature policy in accordance with which the signature is performed and with which the signature must be validated. This property is required if the signature type specified by the type property is "cades-epes". It is optional if the signature type is "cades-baseline". It cannot be present if the signature type is "cms" or "cades-bes".

policy_identifier.policy_id.oid

OID of the signature policy.

policy_identifier.policy_hash.digest_algorithm_identifier.id

Algorithm for calculating the hash of the signature policy. Its value can be "sha1", "sha256", "sha384" or "sha512".

policy_identifier.policy_hash.digest_value

Hash of the signature policy.

commitments[]

Commitments of the signer that must be included in the signed attributes of the signature. This property is optional if the value of the type property is "cades-bes", "cades-epes" or "cades-baseline". This property cannot be present if this value is "cms".

commitments[].type

Type of one of the signer's commitments.

  • "proof_of_origin": the signer acknowledges creating and sending the document.

  • "proof_of_receipt": the signer acknowledges receiving the document.

  • "proof_of_delivery": the signer acknowledges delivering the document to the recipient.

  • "proof_of_sender": the signer acknowledges sending the document.

  • "proof_of_approval": the signer acknowledges approving the document.

  • "proof_of_creation": the signer acknowledges creating the document.

  • "custom": the signer acknowledges what is specified in the commitments[].oid property.

commitments[].oid

OID identifying a signer commitment. This property is optional and only used by the "custom" type commitments.

location

Information on the location where the signature was made that must include the signed attributes of the signature. This property is optional if the value of the type property is "cades-bes", "cades-epes" or "cades-baseline". This property cannot be present if this value is "cms".

location.country_name

This property is optional and contains the country where the signature is made.

location.locality_name

This property is optional and contains the locality where the signature was made.

location.postal_address

This property is optional and contains the postal address where the signature is made.

roles.claimed[]

Roles that the signer claims to have — must be included in the signed attributes of the signature. This property is optional if the value of the type property is "cades-bes", "cades-epes" or "cades-baseline". This property cannot be present if this value is "cms".

signed_attributes[]

This property is optional and contains information on the additional signed attributes that must be put in the signature.

signed_attributes[].type

This property can only take the "custom" value. It specifies the additional signed attribute type that must be put in the signature.

signed_attributes[].oid

OID that identifies the type of one of the signed attributes that must be put in the signature.

signed_attributes[].encoded

Value of one of signed attributes that must be put in the signature.

unsigned_attributes[]

This property is optional and contains information on the unsigned attributes that must be put in the signature.

unsigned_attributes[].type

This property can only take the "custom" value. It specifies the unsigned attribute type that must be put in the signature.

unsigned_attributes[].oid

OID that identifies the type of one of the unsigned attributes that must be put in the signature.

unsigned_attributes[].encoded

Value of one of the unsigned attributes that must be put in the signature.